package 二叉树相关问题.中度题;

public class 首个公共祖先 {

    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
          if (root==null || root==p || root==q)
              return root;
        TreeNode left = lowestCommonAncestor(root.left, p, q);
        TreeNode right = lowestCommonAncestor(root.right, p, q);
        if (left!=null && right!=null){
            return root;
        }
        else if (left==null)
            return right;
        else
            return left;
    }
}
